#include "drv_led1.h"

void drv_led1_init(void)
{
#if 1
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT ;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP ;
	//GPIO_InitStruct.GPIO_Pin = (GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10) ;
	GPIO_InitStruct.GPIO_Pin = (GPIO_Pin_8|GPIO_Pin_10) ;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP ;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz ;
	GPIO_Init(GPIOE, &GPIO_InitStruct) ; 
	GPIO_SetBits( GPIOE,GPIO_Pin_8) ;
	//GPIO_SetBits( GPIOE,GPIO_Pin_9) ;
	GPIO_SetBits( GPIOE,GPIO_Pin_10) ;
#else
		
		RCC->AHB1ENR |= ( 0x01 << 4 ) ;
		GPIOE->MODER &= ~(0x03<<16) ;
	  GPIOE->MODER |=  (0x01<<16) ;
		GPIOE->ODR &= ~(0x01<<8) ; 
#endif
}

void drv_led_open(void)
{
	GPIO_ResetBits( GPIOE,GPIO_Pin_8) ;
	//GPIO_ResetBits( GPIOE, GPIO_Pin_9) ;
	GPIO_ResetBits( GPIOE, GPIO_Pin_10) ;
	
}

void drv_led_close(void)
{
	GPIO_SetBits( GPIOE,GPIO_Pin_8) ;
	//GPIO_SetBits( GPIOE,GPIO_Pin_9) ;
	GPIO_SetBits( GPIOE,GPIO_Pin_10) ;
	
}

void drv_led1_open(void)
{
	GPIO_ResetBits( GPIOE, GPIO_Pin_8) ;
}
void drv_led1_close(void)
{
	GPIO_SetBits( GPIOE,GPIO_Pin_8) ;
	
}

void drv_led2_close(void)
{
	GPIO_SetBits( GPIOE,GPIO_Pin_9) ;
}
void drv_led2_open(void)
{
	GPIO_ResetBits( GPIOE, GPIO_Pin_9) ;
}

void drv_led3_open(void)
{
	GPIO_ResetBits( GPIOE, GPIO_Pin_10) ;
}
void drv_led3_close(void)
{
	GPIO_SetBits( GPIOE,GPIO_Pin_10) ;
	
}

void drv_led_line(void)
{
	GPIO_ResetBits( GPIOE, GPIO_Pin_8) ;
	
	drv_systick_delayms(500) ;
	
	GPIO_SetBits( GPIOE,GPIO_Pin_8) ;
	GPIO_ResetBits( GPIOE, GPIO_Pin_9) ;
	
	drv_systick_delayms(500) ;
	
	GPIO_SetBits( GPIOE,GPIO_Pin_9) ;
	GPIO_ResetBits( GPIOE, GPIO_Pin_10) ;
	
	drv_systick_delayms(500) ;
	
	GPIO_SetBits( GPIOE,GPIO_Pin_10) ;
}

void drv_spk_init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT ;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP ;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10 ;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP ;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz ;
	GPIO_Init(GPIOB, &GPIO_InitStruct) ;

	GPIO_ResetBits( GPIOB,GPIO_Pin_10) ;
}

void drv_spk_open(void)
{
			GPIO_SetBits( GPIOB,GPIO_Pin_10) ;
}

void drv_spk_close(void)
{
			GPIO_ResetBits( GPIOB,GPIO_Pin_10) ;
}

